package com.sushengren.easyword.annotation;

import com.sushengren.easyword.converters.AutoConverter;
import com.sushengren.easyword.converters.Converter;
import com.sushengren.easyword.enums.DataTypeEnum;

import java.lang.annotation.*;

/**
 * @author sushengren
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface WordProperty {

    /**
     * 对应标签的值，默认值为字段名
     *
     * @return 标签值
     */
    String value() default "";

    /**
     * 数据类型，默认字符串
     *
     * @return 数据类型
     */
    DataTypeEnum dataType() default DataTypeEnum.STRING;

    /**
     * 数据转换器，默认为自动转换器
     *
     * @return 转换器
     */
    Class<? extends Converter> converter() default AutoConverter.class;

}
